IP networking generally is based on two models: the OSI Reference Model and the TCP/IP Reference Model. The OSI reference model defines standards and boundaries for establishing protocols so that computer systems may effectively communicate with each other across open networks. As is known in the art, the OSI model is composed of seven layers with each layer corresponding to specific functions. The TCP/IP reference model defines standards for protocols and addressing schemes primarily for packet-switching and routing data packets across the Internet. Both the OSI and TCP/IP models generally require the use of substantial processing resources, such as CPU cores, special controllers, and software-based operating systems in order to implement the network “stack,” which not only make implementing heterogeneous networks costly, but also make managing system resources and software difficult.
The present invention provides an alternative to these models and is a logic-based communication protocol, which can enable a wide variety of devices, including FPGA-based security devices, that are connected to packet networks to be updated or to otherwise send or receive commands or information over the packet network. The present invention includes such a PLD-based network update transport protocol, which is often referred to herein as “PNUT”. In accordance with preferred embodiments of the present invention, PNUT preferably is a UDP-based protocol designed to allow IP network-based systems to communicate with a variety of networked devices that typically would be unsuited for such communications because they do not include the necessary resources to implement the traditional TCP/IP “stack.” Utilizing the PNUT protocol, however, such devices may send and/or receive update or other packets.
The PNUT protocol in accordance with preferred embodiments offers numerous advantages over the traditional OSI- and TCP/IP models, which typically are considered to require a full network protocol stack. A network stack often involves the use of buffers, which temporarily store data for applications. A PLD-based implementation in accordance with the present invention, however, is “stackless” in that it does not require or implement a full network stack. Since some level of buffering may be necessary or desirable, a PLD-based device can extract the data from the bit stream and buffer it to RAM, flip flops or Flash memory. Thus, a PLD-based device implementing a PNUT-type protocol in accordance with the present invention can free up critical system resources, which may normally be occupied by software applications.
Moreover, the PNUT protocol may be used to enable hardware-based products to communicate over Ethernet or other preferably packet-based networks without requiring the use of CPU cores, special controllers, special buses, operating systems, or stringent timings. For example, the PNUT protocol can be implemented across a plurality of bus structures, such as PCI buses, ISA buses, VESA buses, USB ports, infrared ports (e.g., infrared serial data link), cardbuses (e.g., PC cards), etc. The PNUT protocol, therefore, can dramatically reduce the speed and cost of networking PLD-based devices, something that currently poses a barrier to the development of new markets for these devices.
While the present invention will be described in particular detail with respect to PLD-based firewall-type systems, particularly the systems described in co-pending App. Ser. No. 09/611,775, filed Jul. 7, 2000 by the inventor hereof for “Real-Time Firewall/Data Protection Systems and Methods,” which is hereby incorporated by reference, the present invention also can be used for a wide range of home and office equipment, including pagers, cell phones, VCRs, refrigerators, laptop computers, and security systems. The PNUT protocol also supports a host of functions, such as filtering, updating, logging, polling, testing, debugging, and monitoring. In addition, the present invention addresses many of the common problems with networking these devices, such as cost, speed, robustness, concurrency, versioning, error handling, IP address management, and heterogeneous network computing. The PNUT protocol provides an inexpensive, extensible, and stackless method of network communication between hardware-based home and office equipment.